﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace B2B.Web
{
    public class DataService : IDataService
    {

        public string ParametreEkle(string name, string value)
        {
            string sonuc = "";
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var prm = ent.Parametreler.Where(x => x.ParametreAdi == name).FirstOrDefault();
                    if (prm != null)
                    {
                        prm.ParametreDegeri = value;
                    }
                    else
                    {
                        prm = new Parametre();
                        prm.ParametreAdi = name;
                        prm.ParametreDegeri = value;
                        ent.Parametreler.Add(prm);
                    }
                    ent.SaveChanges();
                }
                sonuc = "OK";
            }
            catch (Exception ex)
            {
                sonuc = ex.Message;
            }
            return sonuc;
        }
        public Parametre[] ParametreListesi()
        {
            List<Parametre> liste = new List<Parametre>();
            using (B2bEntities ent = new B2bEntities())
            {
                liste.AddRange(ent.Parametreler.ToArray());
            }
            return liste.ToArray();
        }

        public Kullanici KullaniciKontrol(string eposta, string sifre, string firmakodu)
        {
            Kullanici usr;
            using (B2bEntities ent = new B2bEntities())
            {
                usr = ent.Kullanicilar.Where(x => x.Email == eposta && x.Sifre == sifre && x.FirmaKodu == firmakodu).FirstOrDefault();
            }
            return usr;
        }

        public List<Kategori> KategoriListesi()
        {
            List<Kategori> lst = new List<Kategori>();
            using (B2bEntities ent = new B2bEntities())
            {
                var sonuc = (from s in ent.Stoklar
                             join k in ent.Kategoriler on s.KategoriKodu equals k.Kodu
                             group s.ID by k into g
                             select new Kategori { Adi = g.Key.Adi, ID = g.Key.ID, Kodu = g.Key.Kodu, StokSayisi = g.Count() }).ToArray();
                lst.AddRange(sonuc);
            }
            return lst;
        }

        public List<AltGrup> AltGrupListesi()
        {
            List<AltGrup> lst = new List<AltGrup>();
            using (B2bEntities ent = new B2bEntities())
            {
                var sonuc = (from s in ent.Stoklar
                             join k in ent.AltGruplar on s.AltGrupKodu equals k.Kodu
                             group s.ID by k into g
                             select new AltGrup { Adi = g.Key.Adi, ID = g.Key.ID, Kodu = g.Key.Kodu, StokSayisi = g.Count() }).ToArray();
                lst.AddRange(sonuc);
            }
            return lst;
        }

        public List<Stok> UrunTumListe()
        {
            List<Stok> lst = new List<Stok>();
            using (B2bEntities ent = new B2bEntities())
            {
                lst.AddRange(ent.Stoklar.ToArray());
            }
            return lst;
        }

        public List<Stok> UrunListe(string filtre, byte aranan)
        {
            List<Stok> lst = new List<Stok>();
            using (B2bEntities ent = new B2bEntities())
            {
                switch (aranan)
                {
                    case 0: //stokkodu
                        lst.AddRange(ent.Stoklar.SqlQuery(string.Format("select * from Stok where Kodu Like '%{0}%'", filtre)).ToArray());
                        break;
                    case 1: //stokadi
                        lst.AddRange(ent.Stoklar.SqlQuery(string.Format("select * from Stok where Adi Like '%{0}%'", filtre)).ToArray());
                        break;
                    case 2: //kategori
                        string kategori;
                        string altGrup;

                        if (filtre.IndexOf('.') > 0)
                        {
                            kategori = filtre.Substring(0, filtre.IndexOf('.'));
                            altGrup = filtre;
                        }
                        else
                        {
                            kategori = filtre;
                            altGrup = "%";
                        }
                        lst.AddRange(ent.Stoklar.SqlQuery(string.Format("select * from Stok where KategoriKodu ='{0}' and AltGrupKodu like '{1}'", kategori, altGrup)).ToArray());
                        break;
                    case 3: //favori listem
                        int kullaniciID = Convert.ToInt32(filtre);
                        var sonuc = from s in ent.Stoklar
                                    join f in ent.Favorites on s.ID equals f.StokID
                                    where f.KullaniciID == kullaniciID
                                    select s;
                        lst.AddRange(sonuc.ToArray());
                        break;
                    case 4: //anlaşmalı ürünler
                        var anlasma = from s in ent.Stoklar
                                      join f in ent.FiyatListeleri on s.Kodu equals f.StokKodu
                                      where f.CariKodu == filtre
                                      select s;
                        lst.AddRange(anlasma.ToArray());
                        break;
                    case 5: //kodu veya adı
                        lst.AddRange(ent.Stoklar.SqlQuery(string.Format("select * from Stok where Adi Like '%{0}%' or Kodu Like '%{0}%'", filtre)).ToArray());
                        break;
                }
            }
            return lst;
        }

        public Cari FirmaBul(string kodu)
        {
            Cari cr;
            using (B2bEntities ent = new B2bEntities())
            {
                cr = ent.Cariler.Where(x => x.Kodu == kodu).FirstOrDefault();
            }
            return cr;
        }

        public bool SiparisSatirEkle(Siparis evrak)
        {
            bool sonuc = false;
            using (B2bEntities ent = new B2bEntities())
            {
                var spr = ent.Siparisler.Where(x => x.Seri == evrak.Seri && x.Sira == evrak.Sira && x.Satir == evrak.Satir).FirstOrDefault();
                if (spr != null)
                {
                    spr = evrak;
                }
                else
                {
                    ent.Siparisler.Add(evrak);
                }
                ent.SaveChanges();
            }
            return sonuc;
        }

        public bool SiparisEkle(Siparis[] lines, bool yeniEvrak)
        {
            bool sonuc = true;
            try
            {
                if (lines.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        string seri = "";
                        int sira = 0;
                        if (yeniEvrak)
                        {
                            seri = "SIP";
                            sira = ent.Siparisler.Where(x => x.Seri == seri).Select(x => (int?)x.Sira).Max() ?? 1;
                            sira += 1;
                        }
                        else
                        {
                            seri = lines[0].Seri;
                            sira = lines[0].Sira;
                            var lst = ent.Siparisler.Where(x => x.Seri == seri && x.Sira == sira).ToList();
                            foreach (var item in lst)
                            {
                                ent.Siparisler.Remove(item);
                            }
                        }

                        foreach (Siparis evrak in lines)
                        {
                            evrak.Seri = seri;
                            evrak.Sira = sira;
                            ent.Siparisler.Add(evrak);
                        }

                        ent.SaveChanges();
                        SiparisMailGonder(seri, sira);
                    }
                }
            }
            catch (Exception)
            {
                sonuc = false;
            }
            return sonuc;
        }

        public bool SiparisSatirSil(string seri, int sira, int satir)
        {
            throw new NotImplementedException();
        }

        public bool SiparisSil(string seri, int sira)
        {
            bool sonuc = false;
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var sip = ent.Siparisler.Where(x => x.Seri == seri && x.Sira == sira).ToList();
                    foreach (var item in sip)
                    {
                        ent.Siparisler.Remove(item);
                    }
                    ent.SaveChanges();
                    sonuc = true;
                }
            }
            catch (Exception)
            {
            }
            return sonuc;
        }

        public bool SiparisOnayla(string seri, int sira, int kullaniciID)
        {
            bool sonuc = false;
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var sip = ent.Siparisler.Where(x => x.Seri == seri && x.Sira == sira).ToList();
                    foreach (var item in sip)
                    {
                        item.Onaylandi = true;
                        item.OnaylayanKullaniciID = kullaniciID;
                    }
                    ent.SaveChanges();
                    sonuc = true;
                }
            }
            catch (Exception)
            {
            }
            return sonuc;
        }

        public List<SiparisDetay> SiparisBul(string seri, int sira)
        {
            List<SiparisDetay> lst = new List<SiparisDetay>();
            using (B2bEntities ent = new B2bEntities())
            {
                var sonuc = (from s in ent.Siparisler
                             join u in ent.Stoklar on s.StokKodu equals u.Kodu
                             where s.Seri == seri && s.Sira == sira
                             select new SiparisDetay { Adet = s.Miktar, Adi = u.Adi, Fiyat = s.Fiyat, ID = s.ID, Iskonto = s.Iskonto1 + s.Iskonto2 + s.Iskonto3 + s.Iskonto4 + s.Iskonto5 + s.Iskonto6, KdvOrani = s.KdvOran, Kod = u.Kodu, Sec = false, Yekun = s.Tutar, KdvTutari = s.KdvTutar }).ToArray();
                lst.AddRange(sonuc);
            }
            return lst;
        }

        public List<SiparisOzet> SiparisListele(int CariID, byte islem, DateTime baslangic, DateTime bitis)
        {
            List<SiparisOzet> lst = new List<SiparisOzet>();
            using (B2bEntities ent = new B2bEntities())
            {
                switch (islem)
                {
                    case 0: //onaylananlar
                        var spr = (from s in ent.Siparisler
                                   join k in ent.Kullanicilar on s.KullaniciID equals k.ID
                                   where s.Onaylandi == true && s.Tarih >= baslangic && s.Tarih <= bitis
                                   group s by new { k.Adi, s.Seri, s.Sira, s.Tarih, s.Onaylandi } into g
                                   select new SiparisOzet() { Kullanici = g.Key.Adi, Sec = false, Seri = g.Key.Seri, Sira = g.Key.Sira, Tarih = g.Key.Tarih, Tutar = g.Sum(x => x.Tutar), Durum = (g.Key.Onaylandi ? "Onaylanmış" : "Onaylanmamış") }).ToArray();
                        lst.AddRange(spr);
                        break;
                    case 1: //onay bekleyenler
                        var spr1 = (from s in ent.Siparisler
                                    join k in ent.Kullanicilar on s.KullaniciID equals k.ID
                                    where s.Onaylandi == false && s.Tarih >= baslangic && s.Tarih <= bitis
                                    group s by new { k.Adi, s.Seri, s.Sira, s.Tarih, s.Onaylandi } into g
                                    select new SiparisOzet() { Kullanici = g.Key.Adi, Sec = false, Seri = g.Key.Seri, Sira = g.Key.Sira, Tarih = g.Key.Tarih, Tutar = g.Sum(x => x.Tutar), Durum = (g.Key.Onaylandi ? "Onaylanmış" : "Onaylanmamış") }).ToArray();
                        lst.AddRange(spr1);
                        break;
                    case 2://tümü
                        var spr2 = (from s in ent.Siparisler
                                    join k in ent.Kullanicilar on s.KullaniciID equals k.ID
                                    where s.Tarih >= baslangic && s.Tarih <= bitis
                                    group s by new { k.Adi, s.Seri, s.Sira, s.Tarih, s.Onaylandi } into g
                                    select new SiparisOzet() { Kullanici = g.Key.Adi, Sec = false, Seri = g.Key.Seri, Sira = g.Key.Sira, Tarih = g.Key.Tarih, Tutar = g.Sum(x => x.Tutar), Durum = (g.Key.Onaylandi ? "Onaylanmış" : "Onaylanmamış") }).ToArray();
                        lst.AddRange(spr2);
                        break;
                }
            }
            return lst;
        }

        public List<DovizKuru> DovizListesi()
        {
            List<DovizKuru> lst = new List<DovizKuru>();
            using (B2bEntities ent = new B2bEntities())
            {
                lst.AddRange(ent.DovizKurlari.ToArray());
            }
            return lst;
        }

        public bool FavoriyeEkle(int kullaniciID, int stokID)
        {
            bool sonuc = false;
            using (B2bEntities ent = new B2bEntities())
            {
                var fvr = ent.Favorites.Where(x => x.StokID == stokID && x.KullaniciID == kullaniciID).FirstOrDefault();
                if (fvr == null)
                {
                    ent.Favorites.Add(new Favorite { KullaniciID = kullaniciID, StokID = stokID });
                    ent.SaveChanges();
                    sonuc = true;
                }
            }
            return sonuc;
        }

        public bool FavoridenSil(int kullaniciID, int stokID)
        {
            bool sonuc = false;
            using (B2bEntities ent = new B2bEntities())
            {
                var fvr = ent.Favorites.Where(x => x.StokID == stokID && x.KullaniciID == kullaniciID).FirstOrDefault();
                if (fvr != null)
                {
                    ent.Favorites.Remove(fvr);
                    ent.SaveChanges();
                    sonuc = true;
                }
            }
            return sonuc;
        }

        public List<Favorite> FavoriListe(int kullaniciID)
        {
            List<Favorite> lst = new List<Favorite>();
            using (B2bEntities ent = new B2bEntities())
            {
                lst.AddRange(ent.Favorites.Where(x => x.KullaniciID == kullaniciID).ToArray());
            }
            return lst;
        }

        public List<FiyatListesi> CariFiyatListesi(string cariKodu)
        {
            List<FiyatListesi> lst = new List<FiyatListesi>();
            using (B2bEntities ent = new B2bEntities())
            {
                lst.AddRange(ent.FiyatListeleri.Where(x => x.CariKodu == cariKodu).ToArray());
            }
            return lst;
        }

        public FiyatListesi StokFiyatListesi(string cariKodu, string stokKodu)
        {
            FiyatListesi fyt;
            using (B2bEntities ent = new B2bEntities())
            {
                fyt = ent.FiyatListeleri.Where(x => x.CariKodu == cariKodu && x.StokKodu == stokKodu).FirstOrDefault();
            }
            return fyt;
        }

        public string HatirlatmaMailGonder(string email)
        {
            string sonuc = "";
            using (B2bEntities ent = new B2bEntities())
            {
                var usr = ent.Kullanicilar.Where(x => x.Email == email).FirstOrDefault();
                if (usr != null)
                {
                    sonuc = EMail.EmailSend("info@mikroyardim.com", email, "info@mikroyardim.com", "1Q2w3e4r", "Şifre Hatırlatma", "www.mikroyardim.com B2B giriş bilgileriniz\r\nFirma Kodu :" + usr.FirmaKodu + "\r\nŞifre :" + usr.Sifre, "mail.mikroyardim.com", "\r\n");
                }
            }
            return sonuc;
        }

        private void SiparisMailGonder(string seri, int sira)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<html>\r\n");
            sb.Append("<head>\r\n");
            sb.Append("    <style type=\"text/css\">\r\n\r\n");
            sb.Append("        .SIPARIS_DETAY {\r\n\r\n");
            sb.Append("            width: 960px;\r\n");
            sb.Append("            font-size: 10px;\r\n");
            sb.Append("            background-color: white;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .TOP {\r\n");
            sb.Append("                height: 240px;\r\n");
            sb.Append("                padding: 30px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("                .SIPARIS_DETAY .TOP H3 {\r\n");
            sb.Append("                    text-align: right;\r\n");
            sb.Append("                    background: none;\r\n");
            sb.Append("                    width: 769px;\r\n");
            sb.Append("                }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .HEADER TD {\r\n");
            sb.Append("                background: #FFFFFF;\r\n");
            sb.Append("                border: 1px solid #000000;\r\n");
            sb.Append("                padding: 3px;\r\n");
            sb.Append("                font-weight: bold;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .LIST TD, .SIPARIS_DETAY .LIST_HL TD {\r\n");
            sb.Append("                background: #FFFFFF;\r\n");
            sb.Append("                border-left: 1px solid #000000;\r\n");
            sb.Append("                border-right: 1px solid #000000;\r\n");
            sb.Append("                padding: 3px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .1 {\r\n");
            sb.Append("                width: 60px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .2 {\r\n");
            sb.Append("                width: 300px;\r\n");
            sb.Append("                letter-spacing: -1px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .3 {\r\n");
            sb.Append("                width: 30px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .4 {\r\n");
            sb.Append("                width: 30px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .5 {\r\n");
            sb.Append("                width: 60px;\r\n");
            sb.Append("                text-align: right;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .6 {\r\n");
            sb.Append("                width: 45px;\r\n");
            sb.Append("                letter-spacing: -1px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .7 {\r\n");
            sb.Append("                width: 45px;\r\n");
            sb.Append("                letter-spacing: -1px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .8 {\r\n");
            sb.Append("                width: 45px;\r\n");
            sb.Append("                letter-spacing: -1px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .9 {\r\n");
            sb.Append("                width: 45px;\r\n");
            sb.Append("                letter-spacing: -1px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .10 {\r\n");
            sb.Append("                width: 20px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .11 {\r\n");
            sb.Append("                width: 80px;\r\n");
            sb.Append("                text-align: right;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .12 {\r\n");
            sb.Append("                width: 10px;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("            .SIPARIS_DETAY .STATUS {\r\n");
            sb.Append("                height: 1px;\r\n");
            sb.Append("                border-top: 1px solid #000000;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("        HTML {\r\n");
            sb.Append("            width: 100%;\r\n");
            sb.Append("            height: 100%;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        BODY {\r\n");
            sb.Append("            MARGIN: 0px;\r\n");
            sb.Append("            color: #606060;\r\n");
            sb.Append("            BACKGROUND: #EEEEEE;\r\n");
            sb.Append("            FONT-FAMILY: Verdana;\r\n");
            sb.Append("            FONT-SIZE: 11px;\r\n");
            sb.Append("            text-align: center;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        A {\r\n");
            sb.Append("            cursor: pointer;\r\n");
            sb.Append("            color: #303030;\r\n");
            sb.Append("            text-decoration: none;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("            A:hover {\r\n");
            sb.Append("                color: #000000;\r\n");
            sb.Append("                text-decoration: underline;\r\n");
            sb.Append("            }\r\n");
            sb.Append("\r\n");
            sb.Append("        SPAN {\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        TABLE {\r\n");
            sb.Append("            BORDER-COLLAPSE: collapse;\r\n");
            sb.Append("            border: 0px solid #000000;\r\n");
            sb.Append("            FONT-SIZE: 12px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        TD {\r\n");
            sb.Append("            vertical-align: top;\r\n");
            sb.Append("            padding: 0px;\r\n");
            sb.Append("            color: #000000;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        MARQUEE {\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        SELECT {\r\n");
            sb.Append("            COLOR: #606060;\r\n");
            sb.Append("            BACKGROUND-COLOR: #FFFFFF;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        ACRONYM {\r\n");
            sb.Append("            text-decoration: overline;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        HR {\r\n");
            sb.Append("            border: 2px solid #CCCCCC;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        H1 {\r\n");
            sb.Append("            height: 36px;\r\n");
            sb.Append("            color: #FFFFFF;\r\n");
            sb.Append("            font-size: 20px;\r\n");
            sb.Append("            font-weight: bold;\r\n");
            sb.Append("            text-align: left;\r\n");
            sb.Append("            letter-spacing: -1px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        H3 {\r\n");
            sb.Append("            height: 27px;\r\n");
            sb.Append("            color: #000000;\r\n");
            sb.Append("            font-size: 24px;\r\n");
            sb.Append("            font-weight: bold;\r\n");
            sb.Append("            text-align: left;\r\n");
            sb.Append("            letter-spacing: -1px;\r\n");
            sb.Append("            margin-bottom: 20px;\r\n");
            sb.Append("            width: 120px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        H4 {\r\n");
            sb.Append("            color: #000000;\r\n");
            sb.Append("            text-align: left;\r\n");
            sb.Append("            font-size: 12px;\r\n");
            sb.Append("            font-weight: bold;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        H5 {\r\n");
            sb.Append("            text-align: center;\r\n");
            sb.Append("            font-size: 10px;\r\n");
            sb.Append("            font-weight: normal;\r\n");
            sb.Append("            padding-left: 5px;\r\n");
            sb.Append("            padding-bottom: 10px;\r\n");
            sb.Append("            padding-top: 5px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        BUTTON {\r\n");
            sb.Append("            color: #FFFFFF;\r\n");
            sb.Append("            background: #C70906;\r\n");
            sb.Append("            font-size: 11px;\r\n");
            sb.Append("            font-weight: bolder;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        INPUT {\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        TEXTAREA {\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        IMG {\r\n");
            sb.Append("            BORDER: 0px solid;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        FORM {\r\n");
            sb.Append("            MARGIN: 0px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        UL {\r\n");
            sb.Append("            margin: 0px;\r\n");
            sb.Append("            margin-left: 20px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        LI {\r\n");
            sb.Append("            margin-bottom: 5px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style1 {\r\n");
            sb.Append("            height: 47px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style2 {\r\n");
            sb.Append("            height: 101px;\r\n");
            sb.Append("            font-size: medium;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style3 {\r\n");
            sb.Append("            color: #000000;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style4 {\r\n");
            sb.Append("            height: 101px;\r\n");
            sb.Append("            font-size: medium;\r\n");
            sb.Append("            text-align: left;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style5 {\r\n");
            sb.Append("            width: 100%;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style6 {\r\n");
            sb.Append("            width: 769px;\r\n");
            sb.Append("        }\r\n");
            sb.Append("\r\n");
            sb.Append("        .auto-style7 {\r\n");
            sb.Append("            width: 94px;\r\n");
            sb.Append("            text-align: right;\r\n");
            sb.Append("        }\r\n");
            sb.Append("    </style>\r\n");
            sb.Append("    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1254\">\r\n");
            sb.Append("    <title>EKSTRE</title>\r\n");
            sb.Append("    <meta http-equiv=\"Content-Language\" content=\"tr\">\r\n");
            sb.Append("\r\n");
            sb.Append("    <base href=\".\" target=\"_parent\">\r\n");
            sb.Append("</head>\r\n");
            sb.Append("\r\n");

            using (B2bEntities ent = new B2bEntities())
            {
                var hr = (from s in ent.Siparisler
                          join st in ent.Stoklar on s.StokKodu equals st.Kodu
                          join c in ent.Cariler on s.CariKodu equals c.Kodu
                          where s.Seri == seri && s.Sira == sira
                          select new { st.Kodu, st.Adi, s.Miktar, s.Fiyat, s.Tutar, s.KdvOran, s.KdvTutar, s.Tarih, CariKodu = c.Kodu, CariAdi = c.Adi, Durum = (s.Onaylandi ? "Onaylandı" : "Onaylanmadı"), s.KullaniciID }).ToList();

                sb.Append("<body class=\"X_DETAIL\">\r\n");
                sb.Append("    <table class=\"SIPARIS_DETAY\">\r\n");
                sb.Append("        <tbody>\r\n");
                sb.Append("            <tr>\r\n");
                sb.Append("                <td colspan=\"9\" class=\"auto-style1\"></td>\r\n");
                sb.Append("            </tr>\r\n");
                sb.Append("            <tr>\r\n");
                sb.Append("                <td colspan=\"3\" class=\"auto-style4\">\r\n");
                sb.Append("                    <address>\r\n");
                sb.AppendFormat("                        <span class=\"auto-style3\">{0}</span><br class=\"auto-style3\" />", hr.Select(x => x.CariKodu).FirstOrDefault());
                sb.AppendFormat("                        <span class=\"auto-style3\">{0}</span><br class=\"auto-style3\" />", hr.Select(x => x.CariAdi).FirstOrDefault());
                sb.Append("                        <span class=\"auto-style3\"></span>\r\n");
                sb.Append("                    </address>\r\n");
                sb.Append("                </td>\r\n");
                sb.Append("                <td colspan=\"3\" class=\"auto-style2\">\r\n");
                sb.Append("                    <table class=\"auto-style5\">\r\n");
                sb.Append("                        <tr>\r\n");
                sb.Append("                            <td>Tarih :</td>\r\n");
                sb.AppendFormat("                            <td>{0}</td>\r\n", hr.Select(x => x.Tarih).FirstOrDefault().ToString("gg/mm/yyyy"));
                sb.Append("                        </tr>\r\n");
                sb.Append("                        <tr>\r\n");
                sb.Append("                            <td>Belge No :</td>\r\n");
                sb.AppendFormat("                            <td>{0}</td>\r\n", seri + "-" + sira.ToString());
                sb.Append("                        </tr>\r\n");
                sb.Append("                    </table>\r\n");
                sb.Append("                </td>\r\n");
                sb.Append("            </tr>\r\n");
                sb.Append("            <tr>\r\n");
                sb.Append("                <td colspan=\"9\"></td>\r\n");
                sb.Append("            </tr>\r\n");
                sb.Append("            <tr class=\"HEADER\">\r\n");
                sb.Append("                <td class=\"1\" style=\"width: 79px\">Kodu</td>\r\n");
                sb.Append("                <td class=\"2\" style=\"width: 464px\">Ürün Adı</td>\r\n");
                sb.Append("                <td class=\"3\" style=\"width: 43px; text-align: center;\">Miktar</td>\r\n");
                sb.Append("                <td class=\"4\" style=\"width: 32px; text-align: center;\">Fiyat</td>\r\n");
                sb.Append("                <td class=\"5\" style=\"width: 16px\">Kdv</td>\r\n");
                sb.Append("                <td class=\"6\" style=\"width: 67px; text-align: center;\">Tutar</td>\r\n");
                sb.Append("                <td class=\"7\" style=\"width: 67px; text-align: center;\">Durum</td>\r\n");
                sb.Append("            </tr>\r\n");



                foreach (var item in hr)
                {
                    sb.Append("            <tr class=\"LIST\">\r\n");
                    sb.AppendFormat("                <td class=\"1\" style=\"width: 79px\">{0}</td>", item.Kodu);
                    sb.AppendFormat("                <td class=\"2\" style=\"width: 464px\">{0}</td>", item.Adi);
                    sb.AppendFormat("                <td class=\"3\" style=\"width: 43px; text-align: center;\">{0}</td>", item.Miktar);
                    sb.AppendFormat("                <td class=\"4\" style=\"width: 32px; text-align: center;\">{0}</td>", item.Fiyat);
                    sb.AppendFormat("                <td class=\"5\" style=\"width: 16px\">{0}</td>", item.KdvOran);
                    sb.AppendFormat("                <td class=\"6\" style=\"width: 67px; text-align: right;\">{0}</td>", item.Tutar);
                    sb.AppendFormat("                <td class=\"7\" style=\"width: 67px; text-align: right;\">{0}</td>", item.Durum);
                    sb.Append("            </tr>\r\n");
                }


                sb.Append("            \r\n");
                sb.Append("            <tr>\r\n");
                sb.Append("                <td class=\"STATUS\" colspan=\"9\">\r\n");
                sb.Append("                    <table class=\"auto-style5\">\r\n");
                sb.Append("                        <tr>\r\n");
                sb.Append("                            <td></td>\r\n");
                sb.Append("                            <td>&nbsp;&nbsp;</td>\r\n");
                sb.Append("                            <td>&nbsp;&nbsp;</td>\r\n");
                sb.Append("                        </tr>\r\n");
                sb.Append("                        <tr>\r\n");
                sb.Append("                            <td class=\"auto-style6\">&nbsp;</td>\r\n");
                sb.Append("                            <td class=\"auto-style7\" style=\"border: 1px solid #000000; color: #000000;\">Arta Toplam :</td>\r\n");
                sb.AppendFormat("                            <td style=\"border: 1px solid #000000; text-align: right;\">{0}</td>", hr.Select(x => x.Tutar).Sum());
                sb.Append("                        </tr>\r\n");
                sb.Append("                        <tr>\r\n");
                sb.Append("                            <td class=\"auto-style6\">&nbsp;</td>\r\n");
                sb.Append("                            <td class=\"auto-style7\" style=\"border: 1px solid #000000; color: #000000;\">Kdv&nbsp; Toplam :</td>\r\n");
                sb.AppendFormat("                            <td style=\"border: 1px solid #000000; text-align: right;\">{0}</td>", hr.Select(x => x.KdvTutar).Sum());
                sb.Append("                        </tr>\r\n");
                sb.Append("                        <tr>\r\n");
                sb.Append("                            <td class=\"auto-style6\">&nbsp;</td>\r\n");
                sb.Append("                            <td class=\"auto-style7\" style=\"border: 1px solid #000000; color: #000000;\">Yekün :</td>\r\n");
                sb.AppendFormat("                            <td style=\"border: 1px solid #000000; text-align: right;\">{0}</td>", hr.Select(x => x.KdvTutar + x.Tutar).Sum());
                sb.Append("                        </tr>\r\n");
                sb.Append("                    </table>\r\n");
                sb.Append("                </td>\r\n");
                sb.Append("            </tr>\r\n");
                sb.Append("        </tbody>\r\n");
                sb.Append("    </table>\r\n");

                sb.Append("    <p align=\"center\">\r\n");
                sb.Append("        <button onclick=\"this.style.display=&#39;none&#39;; window.print(); this.style.display=&#39;&#39;;\">Yazdır</button>\r\n");
                sb.Append("    </p>\r\n");
                sb.Append("</body>\r\n");
                sb.Append("</html>\r\n");
                sb.Append("\r\n");

                int usrid = hr[0].KullaniciID;
                var usr = ent.Kullanicilar.Where(x => x.ID == usrid).FirstOrDefault();
                if (usr != null)
                {
                    if (usr.SiparisiOnayli)
                    {
                        EMail.EmailSend2("info@mikroyardim.com", usr.Email, "info@mikroyardim.com", "1Q2w3e4r", "Siparişiniz sisteme girildi !", sb.ToString(), "mail.mikroyardim.com", "");
                    }
                    else
                    {
                        var usrs = ent.Kullanicilar.Where(x => x.GrupID == usr.GrupID && x.FirmaKodu == usr.FirmaKodu && x.OnayVerebilir == true).ToList();
                        foreach (var item in usrs)
                        {
                            EMail.EmailSend2("info@mikroyardim.com", item.Email, "info@mikroyardim.com", "1Q2w3e4r", usr.Adi + " " + usr.Soyadi + " tarafından sipariş girildi.Onay beklemektedir !", sb.ToString(), "mail.mikroyardim.com", "");
                        }
                    }

                    var yonetici = ent.Kullanicilar.Where(x => x.Yonetici).ToList();
                    foreach (var item in yonetici)
                    {
                        EMail.EmailSend2("info@mikroyardim.com", item.Email, "info@mikroyardim.com", "1Q2w3e4r", item.FirmaKodu + " firması sisteme sipariş girdi !", sb.ToString(), "mail.mikroyardim.com", "");
                    }
                }
            }
        }

        public bool KullaniciEkle(Kullanici usr)
        {
            bool sonuc = false;
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var kl = ent.Kullanicilar.Where(x => x.Email == usr.Email).FirstOrDefault();
                    if (kl != null)
                    {
                        ent.Kullanicilar.Remove(kl);
                        ent.Kullanicilar.Add(usr);
                    }
                    else
                    {
                        ent.Kullanicilar.Add(usr);
                    }
                    ent.SaveChanges();
                    sonuc = true;
                }
            }
            catch (Exception)
            {
            }
            return sonuc;
        }

        public bool KullaniciSil(int KullaniciID)
        {
            bool sonuc = false;
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var kl = ent.Kullanicilar.Where(x => x.ID == KullaniciID).FirstOrDefault();
                    if (kl != null)
                    {
                        ent.Kullanicilar.Remove(kl);
                    }
                    ent.SaveChanges();
                    sonuc = true;
                }
            }
            catch (Exception)
            {
            }
            return sonuc;
        }

        public Kullanici[] KullaniciListesi()
        {
            List<Kullanici> sonuc = new List<Kullanici>();
            using (B2bEntities ent = new B2bEntities())
            {
                sonuc.AddRange(ent.Kullanicilar.ToArray());
            }
            return sonuc.ToArray();
        }

        #region Dışardan veri Aktarım

        public string StokEkle(Stok[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (Stok item in dizi)
                        {
                            var stk = ent.Stoklar.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                stk.Adi = item.Adi;
                                stk.DovizCinsi = item.DovizCinsi;
                                stk.Fiyat = item.Fiyat;
                                stk.ID = item.ID;
                                stk.KategoriKodu = item.KategoriKodu;
                                stk.KdvID = item.KdvID;
                                stk.KdvOrani = item.KdvOrani;
                                stk.Resim = item.Resim;
                                stk.AltGrupKodu = item.AltGrupKodu;
                                ent.SaveChanges();
                            }
                            else
                            {
                                ent.Stoklar.Add(item);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }
        public string StokSil(Stok[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (Stok item in dizi)
                        {
                            var stk = ent.Stoklar.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                ent.Stoklar.Remove(stk);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }

        public string KategoriSil(DbKategori[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (DbKategori item in dizi)
                        {
                            var stk = ent.Kategoriler.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                ent.Kategoriler.Remove(stk);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }
        public string KategoriEkle(DbKategori[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (DbKategori item in dizi)
                        {
                            var stk = ent.Kategoriler.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                stk.Adi = item.Adi;
                                stk.ID = item.ID;
                                ent.SaveChanges();
                            }
                            else
                            {
                                ent.Kategoriler.Add(item);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                {
                    sonuc += ex.InnerException.Message;
                    if (ex.InnerException.InnerException != null)
                    {
                        sonuc += ex.InnerException.InnerException.Message;
                    }
                }
            }
            return sonuc;
        }

        public string AltGrupSil(DbAltGrup[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (DbAltGrup item in dizi)
                        {
                            var stk = ent.AltGruplar.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                ent.AltGruplar.Remove(stk);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                {
                    sonuc += ex.InnerException.Message;
                    if (ex.InnerException.InnerException != null)
                    {
                        sonuc += ex.InnerException.InnerException.Message;
                    }
                }
            }
            return sonuc;
        }
        public string AltGrupEkle(DbAltGrup[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (DbAltGrup item in dizi)
                        {
                            var stk = ent.AltGruplar.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                stk.Adi = item.Adi;
                                stk.ID = item.ID;
                                ent.SaveChanges();
                            }
                            else
                            {
                                ent.AltGruplar.Add(item);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                {
                    sonuc += ex.InnerException.Message;
                    if (ex.InnerException.InnerException != null)
                    {
                        sonuc += ex.InnerException.InnerException.Message;
                    }
                }
            }
            return sonuc;
        }

        public string DovizEkle(DovizKuru[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (DovizKuru item in dizi)
                        {
                            var stk = ent.DovizKurlari.Where(x => x.DovizCinsi == item.DovizCinsi).FirstOrDefault();
                            if (stk != null)
                            {
                                stk.Kur = item.Kur;
                                ent.SaveChanges();
                            }
                            else
                            {
                                ent.DovizKurlari.Add(item);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }

        public string CariEkle(Cari[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (Cari item in dizi)
                        {
                            var stk = ent.Cariler.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                stk.Adi = item.Adi;
                                stk.ID = item.ID;
                                ent.SaveChanges();
                            }
                            else
                            {
                                ent.Cariler.Add(item);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }
        public string CariSil(Cari[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (Cari item in dizi)
                        {
                            var stk = ent.Cariler.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                            if (stk != null)
                            {
                                ent.Cariler.Remove(stk);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }

        public string FiyatListesiEkle(FiyatListesi[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (FiyatListesi item in dizi)
                        {
                            var stk = ent.FiyatListeleri.Where(x => x.StokKodu == item.StokKodu && x.CariKodu == item.CariKodu).FirstOrDefault();
                            if (stk != null)
                            {
                                stk.BrutFiyat = item.BrutFiyat;
                                stk.ID = item.ID;
                                stk.Isk1Oran = item.Isk1Oran;
                                stk.Isk1Tutar = item.Isk1Tutar;
                                stk.Isk2Oran = item.Isk2Oran;
                                stk.Isk2Tutar = item.Isk2Tutar;
                                stk.Isk3Oran = item.Isk3Tutar;
                                stk.Isk4Oran = item.Isk4Tutar;
                                stk.Isk5Oran = item.Isk5Tutar;
                                stk.Isk6Oran = item.Isk6Oran;
                                stk.Isk6Tutar = item.Isk6Tutar;
                                ent.SaveChanges();
                            }
                            else
                            {
                                ent.FiyatListeleri.Add(item);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }

        public string FiyatListesiSil(FiyatListesi[] dizi)
        {
            string sonuc = "";
            try
            {
                if (dizi != null && dizi.Length > 0)
                {
                    using (B2bEntities ent = new B2bEntities())
                    {
                        foreach (FiyatListesi item in dizi)
                        {
                            var stk = ent.FiyatListeleri.Where(x => x.StokKodu == item.StokKodu && x.CariKodu == item.CariKodu).FirstOrDefault();
                            if (stk != null)
                            {
                                ent.FiyatListeleri.Remove(stk);
                            }
                        }
                        ent.SaveChanges();
                        sonuc = "OK";
                    }
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }

        public Siparis[] AktarilacakSiparisler()
        {
            List<Siparis> sonuc = new List<Siparis>();
            using (B2bEntities ent = new B2bEntities())
            {
                sonuc.AddRange(ent.Siparisler.Where(x => x.Onaylandi == true && x.Gonderildi == false).ToArray());
            }
            return sonuc.ToArray();
        }

        public string SiparisAktarildi(string seri, int sira, int satir)
        {
            string sonuc = "";
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var spr = ent.Siparisler.Where(x => x.Seri == seri && x.Sira == sira && x.Satir == satir).FirstOrDefault();
                    if (spr != null)
                    {
                        spr.Gonderildi = true;
                    }
                    ent.SaveChanges();
                    sonuc = "OK";
                }
            }
            catch (Exception ex)
            {
                sonuc = ex.Message + "\r\n" + ex.StackTrace + "\r\n";
                if (ex.InnerException != null)
                    sonuc += ex.InnerException.Message;
            }
            return sonuc;
        }

        #endregion


        public bool GrupEkle(int ID, string Adi)
        {
            bool sonuc = false;
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var grp = ent.KullaniciGruplari.Where(x => x.ID == ID).FirstOrDefault();
                    if (grp != null)
                    {
                        grp.Adi = Adi;
                    }
                    else
                    {
                        grp = new KullaniciGrup();
                        grp.Adi = Adi;
                        ent.KullaniciGruplari.Add(grp);
                    }
                    ent.SaveChanges();
                }
                sonuc = true;
            }
            catch (Exception)
            {
            }
            return sonuc;
        }

        public bool GrupSil(int ID)
        {
            bool sonuc = false;
            try
            {
                using (B2bEntities ent = new B2bEntities())
                {
                    var grp = ent.KullaniciGruplari.Where(x => x.ID == ID).FirstOrDefault();
                    if (grp != null)
                    {
                        ent.KullaniciGruplari.Remove(grp);
                        ent.SaveChanges();
                    }
                }
                sonuc = true;
            }
            catch (Exception)
            {
            }
            return sonuc;
        }

        public List<KullaniciGrup> GrupListele()
        {
            List<KullaniciGrup> lst = new List<KullaniciGrup>();
            using (B2bEntities ent = new B2bEntities())
            {
                lst.AddRange(ent.KullaniciGruplari.ToArray());
            }
            return lst;
        }
    }
}
